package org.cerberus.platform.share;

import java.io.IOException;

import org.cerberus.platform.internal.domain.IComponentClass;

public interface IPlatformInputStream {

	Integer readPlatformID();
	
	CommuncationType readType() throws IOException;
	
	IComponentClass readNewClass()  throws IOException;
	String readRemoveClass()  throws IOException;
	
	/** [0]=object id
	 *  [1]=classID
	 *  [2..]=data 
	 *   */
	Object[] readNewObject()  throws IOException;
	
	/** returns object id */
	Integer readRemoveObject()  throws IOException;
	
	/** 
	 * [0]=object id
	 * [1]=attribute index
	 * [2]=attribute value
	 * */
	Object[] readChange()  throws IOException;
}
